// #include <iostream>
// #include <string>
// using namespace std;
//
// //链表
// //class
// class Node {
//     public:
//     //提供访问接口
//     int get_data() {
//         return data;
//     }
//
//     void setNext(Node* t) {
//         next = t;
//     }
//
//     Node* get_next() {
//         return next;
//     }
//
//     Node(int data) {
//         this->data = data;
//         next = NULL;
//     }
//
// protected:
//     int data;
//     Node * next;
// };
//
// class List {
//     public:
//     List() { //构造函数 描述最初状态 (初始化数据）
//         size=0;
//         head=NULL;
//         tail=NULL;
//     }
//
//
//
//     void print_list() {
//         Node* pMove =head;
//         while(pMove!=NULL) {
//             //权限问题 提供接口
//             cout << pMove->get_data() << endl;
//             pMove=pMove->get_next();
//         }
//     }
//
//     void push_back(int data) {
//         Node* t = new Node(data);
//         if (size==0) {
//             head = t;
//             tail = t;
//         }else {
//             tail->setNext(t);
//             tail = t;
//         }
//         size++;
//     }
//     protected:
//     Node * head;
//     Node* tail;
//     int size;
// };
//
// int main() {
//
//     List* list = new List();
//     list->push_back(1);
//     list->push_back(2);
//     list->push_back(3);
//     list->print_list();
//
// }